1. Field of the Invention
The present invention relates to the field of computer display systems, and more particularly, to improved apparatus and methods for updating data representative of images to a display system.
2. Art Background
In many computer systems it is quite common to represent and convey information to a user through digital images. These images may take a variety of forms, such as for example, alphanumeric characters, cartesian graphs, and other pictorial representations. In many applications, the digital images are conveyed to a user on a display device, such as a raster scan video monitor, printer or the like. Typically, the images to be displayed are stored in digital form, manipulated, and then displayed.
Many computer systems store data in the form of binary representations of picture elements ("pixels") comprising an image on a display. The data is generally stored in a memory referred to as a "frame buffer" which is coupled to the display. The frame buffer memory used to store representations of each pixel comprising an image is usually in the form of a "bit map". A number of bit maps may be defined within the memory such that color may be associated with each bit map, thereby permitting multi-colored images to be displayed on an appropriate color monitor or the like.
The frame buffer memory is typically "dual ported" to permit the CPU to update data comprising an image being displayed. The CPU is often required to first read data from the dual ported frame buffer and then internally modify the data to form an appropriate binary representation of the new image to be displayed. This updated data is then written back into the frame buffer such that it may be accessed through another memory port of the particular display device for subsequent display. In the case where the video memory is not dual ported, the CPU may only update the contents of the frame buffer during the vertical blanking interval of the display system.
In most color display systems, a secondary stage is used to translate bit plane information into an analog output level capable of driving a color monitor or the like. A look-up table (LUT) is used for this translation, and contains a "color map" storing intensity levels corresponding to all possible combinations of bit map entries in the frame buffer. LUTs are generally not dual ported, such that the CPU may only update the color map contained therein during the time in which the display is blank; otherwise, a visible "glitch" will appear on the display.
In most computer display systems, the CPU is notified through use of an interrupt, at the beginning of a vertical blanking interval. The CPU may then initiate its update cycle to modify data within the frame buffer of LUT, such that it is displayed at the conclusion of the vertical blanking interval. However, the updating of the display may have a lower priority than other CPU functions, and consequently, the CPU may not actually begin the update cycle until well into the vertical blanking interval. Accordingly, insufficient time may exist during the vertical blanking interval to accomplish the updating of the display.
As will be disclosed, the present invention provides a unique system of status flags that the CPU may read to determine the time remaining within the vertical blanking interval. The present invention's use of status flags indicates to the CPU the halfway point of the vertical blanking interval, as well as if it is too late for the CPU to begin an update cycle.